core: Only depend on GLib 2.30
authorColin Walters <walters@verbum.org>
Mon, 2 Apr 2012 17:42:09 +0000 (13:42 -0400)
committerColin Walters <walters@verbum.org>
Mon, 2 Apr 2012 17:42:09 +0000 (13:42 -0400)
src/libostree/ostree-core.c
src/libostree/ostree-repo.c
src/libotutil/ot-variant-utils.c
src/libotutil/ot-variant-utils.h
src/ostree/ot-builtin-pack.c

index 1e3a9e1ea5c3a1003047ea6373f0c3bfeb9ae93d..7d6849a619d796f7ec50fc6f28b1809333adbf69 100644 (file)
@@ -680,8 +680,7 @@ ostree_checksum_to_bytes (const char *sha256)
       result[i] = (big << 4) | little;
     }
   
-  return g_variant_new_fixed_array (G_VARIANT_TYPE ("y"),
-                                    (guchar*)result, 32, 1);
+  return ot_gvariant_new_bytearray ((guchar*)result, 32);
 }
 
 char *
index 14618697a66a8de3d8d0ab5a45f18526008a0a45..69e4207b690b3fa318a7c40696c01e14e98a35b2 100644 (file)
@@ -1780,7 +1780,7 @@ create_index_bloom (OstreeRepo          *self,
 
   /* TODO - define and compute bloom filter */
 
-  ret_bloom = g_variant_new_fixed_array (G_VARIANT_TYPE ("y"), NULL, 0, 1);
+  ret_bloom = ot_gvariant_new_bytearray (NULL, 0);
   g_variant_ref_sink (ret_bloom);
 
   ret = TRUE;
index 73cadca135f2e6958f712e73c03c432659999cc2..655fd5ffa1b9802c29f68388b9c70c66ff2d9804 100644 (file)
 
 #include "otutil.h"
 
+GVariant *
+ot_gvariant_new_bytearray (const guchar   *data,
+                           gsize           len)
+{
+  gpointer data_copy;
+  GVariant *ret;
+
+  data_copy = g_memdup (data, len);
+  ret = g_variant_new_from_data (G_VARIANT_TYPE ("ay"), data_copy,
+                                 len, FALSE, g_free, data_copy);
+  return ret;
+}
+
 GHashTable *
 ot_util_variant_asv_to_hash_table (GVariant *variant)
 {
index e443a749cd32bf5d65626e87a01551a5355496f9..49882535df3917ce5684c9f75ef9836597a50d86 100644 (file)
@@ -45,6 +45,9 @@ G_BEGIN_DECLS
   *a_v = NULL;                      \
   } while (0);
 
+GVariant *ot_gvariant_new_bytearray (const guchar   *data,
+                                     gsize           len);
+
 GHashTable *ot_util_variant_asv_to_hash_table (GVariant *variant);
 
 GVariant * ot_util_variant_take_ref (GVariant *variant);
index cdef0f0f864bf4d988c3d0d91ae3a286340e7bfc..00474156a2093d704b23787e14aeb36426e34292 100644 (file)
@@ -415,9 +415,7 @@ create_pack_file (OtRepackData        *data,
         packed_object = g_variant_new ("(uy@ay@ay)", GUINT32_TO_BE ((guint32)objtype),
                                        entry_flags,
                                        ostree_checksum_to_bytes (checksum),
-                                       g_variant_new_fixed_array (G_VARIANT_TYPE ("y"),
-                                                                  data, data_len,
-                                                                  1));
+                                       ot_gvariant_new_bytearray (data, data_len));
         g_clear_object (&object_data_stream);
       }